home *** CD-ROM | disk | FTP | other *** search
- Path: xanth!cs.odu.edu!Amiga-Request
- From: Amiga-Request@cs.odu.edu (Amiga Sources/Binaries Moderator)
- Newsgroups: comp.sources.amiga
- Subject: v90i204: YAFR 1.21 - yet another file requester, Part01/02
- Message-ID: <13082@xanth.cs.odu.edu>
- Date: 8 Jul 90 16:03:52 GMT
- Sender: tadguy@cs.odu.edu
- Reply-To: davids@ucscb.UCSC.EDU (Dave Schreiber)
- Lines: 1690
- Approved: tadguy@cs.odu.edu (Tad Guy)
- X-Mail-Submissions-To: Amiga@cs.odu.edu
- X-Post-Discussions-To: comp.sys.amiga
-
- Submitted-by: davids@ucscb.UCSC.EDU (Dave Schreiber)
- Posting-number: Volume 90, Issue 204
- Archive-name: examples/yafr-1.21/part01
-
- [ uuencoded executable and object module included ...tad ]
-
- [ This is version 1.21 of YAFR, an update to version 1.15 posted in March.
- The documentation lists this a 1.20, but the source says 1.21. ...tad ]
-
-
- #!/bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 1 (of 2)."
- # Contents: README WdwDefs.h YAFR.o.uu pattern.h yafrHead.h yftest.c
- # Wrapped by tadguy@xanth on Sun Jul 8 12:03:39 1990
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README'\"
- else
- echo shar: Extracting \"'README'\" \(1163 characters\)
- sed "s/^X//" >'README' <<'END_OF_FILE'
- X YAFR V1.20
- X by Dave Schreiber
- X
- XYAFR V1.20 Copyright (c)1989,1990 by Dave Schreiber. All rights reserved.
- XYAFR is freely distributable, and may be sold as part of a commercial
- Xprogram. This copyright message must be included in the documentation
- Xfor any program, commercial or otherwise, that uses YAFR. Use of YAFR
- Xin a rogram does not detract in any way from the ownership of YAFR by
- Xits author, Dave Schreiber, nor does it change its status as a freely
- Xdistributable program. Dave Schreiber reserves the right to forbid any
- Xperson or company from incorporating YAFR as part of a program owned by
- Xthat person or company.
- X
- XWhew! Now, enough of legalize. I'd appreciate hearing from you if you
- Xuse YAFR in a program that you write, but it isn't a requirement.
- XInstructions for compiling YAFR and using it in other programs is in
- Xthe source code, YAFR.c. The program yftest is a small demo of the
- Xfile requestor. Enjoy.
- X
- X-Dave Schreiber
- Xdavids@slugmail.ucsc.edu (prefered, but flakey. If it doesn't work, try
- Xdavids@ucscb.ucsc.edu (during the school year) or
- Xdavids@cup.portal.com (all other times).)
- X
- END_OF_FILE
- if test 1163 -ne `wc -c <'README'`; then
- echo shar: \"'README'\" unpacked with wrong size!
- fi
- # end of 'README'
- fi
- if test -f 'WdwDefs.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'WdwDefs.h'\"
- else
- echo shar: Extracting \"'WdwDefs.h'\" \(9615 characters\)
- sed "s/^X//" >'WdwDefs.h' <<'END_OF_FILE'
- X
- Xstruct Window *FNWindow = NULL;
- X#define Rp FNWindow->RPort
- XUBYTE DIRUNDOBUFFER[150];
- XUBYTE FNUNDOBUFFER[33];
- XUBYTE EXTUNDOBUFFER[150];
- X
- Xstruct PropInfo SliderSInfo = {
- X AUTOKNOB+FREEVERT,
- X -1,661,
- X 655,655
- X};
- X
- Xstruct Image Image1 = {
- X 0,1,
- X 15,4,
- X 0,
- X NULL,
- X 0x0000,0x0000,
- X NULL
- X};
- X
- Xstruct Gadget Slider = {
- X NULL,
- X 217,35,
- X 23,110,
- X NULL,
- X FOLLOWMOUSE,
- X PROPGADGET,
- X (APTR)&Image1,
- X NULL,
- X NULL,
- X NULL,
- X (APTR)&SliderSInfo,
- X 16,
- X NULL
- X};
- X
- XUSHORT chip ImageData2[] = {
- X 0xFFFF,0xFFFF,0xFFFE,0xC000,0x0000,0x0006,0xC006,0x0007,
- X 0x0006,0xC000,0x000D,0x8006,0xC00E,0x1F0C,0x0F06,0xC006,
- X 0x199E,0x1986,0xC006,0x198C,0x1986,0xC606,0x198C,0x1986,
- X 0xC60F,0x199E,0x0F06,0xC000,0x0000,0x0006,0xFFFF,0xFFFF,
- X 0xFFFE
- X};
- X
- Xstruct Image Image2 = {
- X 0,0,
- X 47,11,
- X 2,
- X ImageData2,
- X 0x0001,0x0000,
- X NULL
- X};
- X
- XUSHORT chip ImageData3[] = {
- X 0x1FFF,0xFFFF,0xFFF0,0xC000,0x0000,0x0006,0xC006,0x0007,
- X 0x0006,0xC000,0x000C,0x0006,0xC00E,0x0700,0x0F06,0xC006,
- X 0x181E,0x1986,0xC006,0x0180,0x1986,0xC600,0x198C,0x1986,
- X 0xC60F,0x199E,0x0006,0xC000,0x0000,0x0006,0x1FFF,0xFFFF,
- X 0xFFF0,0xE000,0x0000,0x000E,0x1E00,0x0000,0x00F0,0x01F0,
- X 0x0000,0x1F00,0x000F,0x8003,0xE000,0x0000,0x783C,0x0000,
- X 0x0000,0x07C0,0x0000,0x0000,0x783C,0x0000,0x000F,0x8003,
- X 0xE000,0x01F0,0x0000,0x1F00,0x1E00,0x0000,0x00F0,0xE000,
- X 0x0000,0x000E
- X};
- X
- Xstruct Image Image3 = {
- X 0,0,
- X 47,11,
- X 2,
- X ImageData3,
- X 0x0003,0x0000,
- X NULL
- X};
- X
- Xstruct Gadget Info = {
- X &Slider,
- X 165,11,
- X 47,11,
- X GADGHIMAGE+GADGIMAGE,
- X GADGIMMEDIATE+TOGGLESELECT,
- X BOOLGADGET,
- X (APTR)&Image2,
- X (APTR)&Image3,
- X NULL,
- X NULL,
- X NULL,
- X 18,
- X NULL
- X};
- X
- XUBYTE filenameSIBuff[33];
- Xstruct StringInfo filenameSInfo = {
- X filenameSIBuff,
- X FNUNDOBUFFER,
- X 0,
- X 33,
- X 0,
- X 0,0,0,0,0,
- X 0,
- X 0,
- X NULL
- X};
- X
- XSHORT BorderVectors1[] = {
- X 0,0,
- X 217,0,
- X 217,10,
- X 0,10,
- X 0,0
- X};
- Xstruct Border Border1 = {
- X -2,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors1,
- X NULL
- X};
- X
- Xstruct Gadget filename = {
- X &Info,
- X 86,159,
- X 214,9,
- X NULL,
- X RELVERIFY,
- X STRGADGET,
- X (APTR)&Border1,
- X NULL,
- X NULL,
- X NULL,
- X (APTR)&filenameSInfo,
- X 12,
- X NULL
- X};
- X
- XUBYTE ExtNameSIBuff[150];
- Xstruct StringInfo ExtNameSInfo = {
- X ExtNameSIBuff,
- X EXTUNDOBUFFER,
- X 0,
- X 150,
- X 0,
- X 0,0,0,0,0,
- X 0,
- X 0,
- X NULL
- X};
- X
- XSHORT BorderVectors2[] = {
- X 0,0,
- X 155,0,
- X 155,10,
- X 0,10,
- X 0,0
- X};
- Xstruct Border Border2 = {
- X -2,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors2,
- X NULL
- X};
- X
- Xstruct Gadget ExtName = {
- X &filename,
- X 86,147,
- X 152,9,
- X NULL,
- X RELVERIFY,
- X STRGADGET,
- X (APTR)&Border2,
- X NULL,
- X NULL,
- X NULL,
- X (APTR)&ExtNameSInfo,
- X 18,
- X NULL
- X};
- X
- XSHORT BorderVectors3[] = {
- X 0,0,
- X 89,0,
- X 89,12,
- X 0,12,
- X 0,1
- X};
- Xstruct Border Border3 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors3,
- X NULL
- X};
- X
- Xstruct IntuiText IText23 = {
- X 1,0,JAM2,
- X 37,2,
- X NULL,
- X "Ok",
- X NULL
- X};
- X
- Xstruct Gadget ok = {
- X &ExtName,
- X 6,172,
- X 88,11,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border3,
- X NULL,
- X &IText23,
- X NULL,
- X NULL,
- X 13,
- X NULL
- X};
- X
- XSHORT BorderVectors4[] = {
- X 0,0,
- X 84,0,
- X 84,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border4 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors4,
- X NULL
- X};
- X
- Xstruct IntuiText IText24 = {
- X 1,0,JAM2,
- X 19,1,
- X NULL,
- X "Parent",
- X NULL
- X};
- X
- Xstruct Gadget parent = {
- X &ok,
- X 218,12,
- X 83,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border4,
- X NULL,
- X &IText24,
- X NULL,
- X NULL,
- X 15,
- X NULL
- X};
- X
- XSHORT BorderVectors5[] = {
- X 0,0,
- X 89,0,
- X 89,12,
- X 0,12,
- X 0,1
- X};
- Xstruct Border Border5 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors5,
- X NULL
- X};
- X
- Xstruct IntuiText IText25 = {
- X 1,0,JAM2,
- X 21,2,
- X NULL,
- X "Cancel",
- X NULL
- X};
- X
- Xstruct Gadget cancel = {
- X &parent,
- X 213,172,
- X 88,11,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border5,
- X NULL,
- X &IText25,
- X NULL,
- X NULL,
- X 14,
- X NULL
- X};
- X
- XSHORT BorderVectors6[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border6 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors6,
- X NULL
- X};
- X
- Xstruct IntuiText IText26 = {
- X 1,0,JAM2,
- X 10,1,
- X NULL,
- X "PIPE:",
- X NULL
- X};
- X
- Xstruct Gadget pipe = {
- X &cancel,
- X 245,147,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border6,
- X NULL,
- X &IText26,
- X NULL,
- X NULL,
- X 10,
- X NULL
- X};
- X
- XSHORT BorderVectors7[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border7 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors7,
- X NULL
- X};
- X
- Xstruct IntuiText IText27 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget rad = {
- X &pipe,
- X 245,135,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border7,
- X NULL,
- X &IText27,
- X NULL,
- X NULL,
- X 9,
- X NULL
- X};
- X
- XSHORT BorderVectors8[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border8 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors8,
- X NULL
- X};
- X
- Xstruct IntuiText IText28 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget Ram = {
- X &rad,
- X 245,124,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border8,
- X NULL,
- X &IText28,
- X NULL,
- X NULL,
- X 8,
- X NULL
- X};
- X
- XSHORT BorderVectors9[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border9 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors9,
- X NULL
- X};
- X
- Xstruct IntuiText IText29 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget vdk = {
- X &Ram,
- X 245,113,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border9,
- X NULL,
- X &IText29,
- X NULL,
- X NULL,
- X 7,
- X NULL
- X};
- X
- XSHORT BorderVectors10[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border10 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors10,
- X NULL
- X};
- X
- Xstruct IntuiText IText30 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget vd0 = {
- X &vdk,
- X 245,102,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border10,
- X NULL,
- X &IText30,
- X NULL,
- X NULL,
- X 6,
- X NULL
- X};
- X
- XSHORT BorderVectors11[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border11 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors11,
- X NULL
- X};
- X
- Xstruct IntuiText IText31 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget dh2 = {
- X &vd0,
- X 245,91,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border11,
- X NULL,
- X &IText31,
- X NULL,
- X NULL,
- X 5,
- X NULL
- X};
- X
- XSHORT BorderVectors12[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border12 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors12,
- X NULL
- X};
- X
- Xstruct IntuiText IText32 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget dh1 = {
- X &dh2,
- X 245,80,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border12,
- X NULL,
- X &IText32,
- X NULL,
- X NULL,
- X 4,
- X NULL
- X};
- X
- XSHORT BorderVectors13[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border13 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors13,
- X NULL
- X};
- X
- Xstruct IntuiText IText33 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget df2 = {
- X &dh1,
- X 245,58,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border13,
- X NULL,
- X &IText33,
- X NULL,
- X NULL,
- X 2,
- X NULL
- X};
- X
- XSHORT BorderVectors14[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border14 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors14,
- X NULL
- X};
- X
- Xstruct IntuiText IText34 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget dh0 = {
- X &df2,
- X 245,69,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border14,
- X NULL,
- X &IText34,
- X NULL,
- X NULL,
- X 3,
- X NULL
- X};
- X
- XSHORT BorderVectors15[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border15 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors15,
- X NULL
- X};
- X
- Xstruct IntuiText IText35 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget df1 = {
- X &dh0,
- X 245,47,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border15,
- X NULL,
- X &IText35,
- X NULL,
- X NULL,
- X 1,
- X NULL
- X};
- X
- XSHORT BorderVectors16[] = {
- X 0,0,
- X 57,0,
- X 57,10,
- X 0,10,
- X 0,1
- X};
- Xstruct Border Border16 = {
- X -1,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors16,
- X NULL
- X};
- X
- Xstruct IntuiText IText36 = {
- X 1,0,JAM2,
- X 13,1,
- X NULL,
- X " ",
- X NULL
- X};
- X
- Xstruct Gadget df0 = {
- X &df1,
- X 245,36,
- X 56,9,
- X NULL,
- X RELVERIFY,
- X BOOLGADGET,
- X (APTR)&Border16,
- X NULL,
- X &IText36,
- X NULL,
- X NULL,
- X 0,
- X NULL
- X};
- X
- XSHORT BorderVectors17[] = {
- X 0,0,
- X 207,0,
- X 207,109,
- X 0,109,
- X 0,0
- X};
- Xstruct Border Border17 = {
- X -2,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors17,
- X NULL
- X};
- X
- Xstruct Gadget filenamebox = {
- X &df0,
- X 6,36,
- X 204,108,
- X GADGHBOX+GADGHIMAGE,
- X GADGIMMEDIATE,
- X BOOLGADGET,
- X (APTR)&Border17,
- X NULL,
- X NULL,
- X NULL,
- X NULL,
- X 17,
- X NULL
- X};
- X
- XUBYTE DirNameSIBuff[150];
- Xstruct StringInfo DirNameSInfo = {
- X DirNameSIBuff,
- X DIRUNDOBUFFER,
- X 0,
- X 150,
- X 0,
- X 0,0,0,0,0,
- X 0,
- X 0,
- X NULL
- X};
- X
- XSHORT BorderVectors18[] = {
- X 0,0,
- X 297,0,
- X 297,10,
- X 0,10,
- X 0,0
- X};
- Xstruct Border Border18 = {
- X -2,-1,
- X 1,0,JAM2,
- X 5,
- X BorderVectors18,
- X NULL
- X};
- X
- Xstruct Gadget DirName = {
- X &filenamebox,
- X 6,24,
- X 294,9,
- X NULL,
- X RELVERIFY,
- X STRGADGET,
- X (APTR)&Border18,
- X NULL,
- X NULL,
- X NULL,
- X (APTR)&DirNameSInfo,
- X 11,
- X NULL
- X};
- X
- X#define GadgetList2 DirName
- X
- Xstruct NewWindow NewFNWindow = {
- X 6,9,
- X 307,187,
- X 0,1,
- X MOUSEMOVE+GADGETDOWN+GADGETUP+DISKINSERTED+DISKREMOVED+RMBTRAP,
- X WINDOWDRAG+ACTIVATE,
- X &DirName,
- X NULL,
- X "Enter filename",
- X NULL,
- X NULL,
- X 5,5,
- X 640,200,
- X WBENCHSCREEN
- X};
- END_OF_FILE
- if test 9615 -ne `wc -c <'WdwDefs.h'`; then
- echo shar: \"'WdwDefs.h'\" unpacked with wrong size!
- fi
- # end of 'WdwDefs.h'
- fi
- if test -f 'YAFR.o.uu' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'YAFR.o.uu'\"
- else
- echo shar: Extracting \"'YAFR.o.uu'\" \(19332 characters\)
- sed "s/^X//" >'YAFR.o.uu' <<'END_OF_FILE'
- Xbegin 664 YAFR.o
- XM```#YP````)90492+F,``````^D```8D3E7__+_L``!E````+P<N+0`(+P=.0
- XMN@``6$\K0/_\2H!F#DAX__](;`.V3KH``%!/0J<O!R\M__Q.N@``("W__"XMX
- XM__A.74YUO^P``&4````O"R9O``@O"TZZ``!83R9?3G6_[```90```$CG`1`FS
- XM;P`,?@%*$V<@$!-(@`1``"AG!E-`9P9@#%)'8`A31V8$(`M@!E*+8-QP`$S?8
- XM"(!.=4Y5_^"_[```90```$CG!Q`F;0`(0JW_^'X`($M*&&;\4XB1RR`(4H`[]
- XM0/_P(@MF!G``8``"JC`M__!(P'(&3KH``"\`80#_&EA/*T#__!`;&T#_[V<`I
- XM`C(;4__N$@!(@01!`"-G``"P54%G``%65T%G&%-!9P`"7`1!`!9G``$P!$$`E
- XM/6=H8``!3A`M_^YR?+`!9P`"/G(IL`%G``(V(`?!_``&(&W__!&\``4(!"!+1
- XM+P@K2/_J80#_"EA/)D`@"V<``A!"&R`'P?P`!B\M_^HO0``480#_*EA/(&W_Z
- XM_"(O`!`A@!@`9@`!FF```>80+?_N<GRP`6<``=IR*;`!9P`!TB`'P?P`!B!MF
- XM__P1O``!"`1@``%N$"W_[G(CL`%G``&R<GRP`6<``:IR*;`!9P`!HDH`9P`!G
- XMG"('P_P`!B!M__P1O``"&`02`$B!!$$`)6<``3!506<04T%G``$F!$$`%V<`,
- XM`1Y@!!M;_^Y21R`'<@;!P2!M__Q",`@$(`?!P4AX``(O0``480#]UEA/(&W_[
- XM_"(O`!`A@!@`(`?!_``&('`(`!"M_^Y2BV```-8@!\'\``8@;?_\$;P``P@$C
- XM8```PB`'P?P`!B!M__P1O``$"`1@``"N(`?!_``&(&W__$(P"`0@2TH89OQ3Q
- XMB)'+(`A4@"H`(`5(P"\`80#]9%A/($`0K?_O?`$K0/_F2A-G+!`32(!(P"\`Y
- XM2&P(S$ZZ``!03TJ`9A9P)[`39@)2BR`&4D8@;?_F$9L``(&W_YD(P8``@$
- XM!\'\``8B!DC!4H$O`2]``!1A`/T((&W__"(O`!0A@!@`(&W_YB)`$MAF_"!`-
- XM+HA.N@``+JW_YF$`_2I83U)'8`#]R"`'4D?!_``&(&W__!&\``8(!"`'2,!RV
- XM!DZZ```O`&$`_+A83R('2,$O0``0<`9.N@``(&W__")O`!!@`A+84X!D^B!O=
- XM`!`K2/_X+RW__&$`_-`@+?_X3.T(X/_03EU.=4Y5__B_[```90```$CG`S`F2
- XM;0`()&T`#"!M`!!*&&;\4XB1[0`0(`A2@"P`(&T`$$H89OQ3B)'M`!`@"%*`&
- XM+P!A`/PV6$]^`"M`__B^1FQ"+RW_^"\+(&T`%$Z04$]*0&<<+RT`$"\*80`!Z
- XM+E!/2D!G#"\M__AA`/Q(<`%@'B!M`!`B;?_X$YAP`"M(`!!21V"Z+RW_^&$`9
- XM_"AP`$SM#,#_Z$Y=3G5.5?_\O^P``&4```!(YP`P)FT`""1M``PK2__\7(L@K
- XM;?_\$"@`!$B`#$``!V0``++00#`[``9.^P`$``P`I`"D`%0`I`!^`*0O"B\+$
- XM80`!>%!/2D!G!G`!8```CB)M__P@44H89OQ3B)'1+P@O$2\*3KH``$_O``Q*7
- XM@&9D(FW__"!12AAF_%.(D=$@"-7`8+@O"B\+80`!,%!/2D!G!'`!8$92BDH2#
- XM9N@0*P`$<@:P`6<$4P!F*G`!8"XO"B\+80`!!E!/2D!G!'`!8!Q(>O\R+PHOZ
- XM"R!M__PO$&$`_GY@""\*+PMA```,3.T,`/_T3EU.=;_L``!E````2.<`,"9OA
- XM``PD;P`0(`IF!G``8```LA`K``1R!K`!9P``G'(!L`%G``"4$@!(@0Q!``9DC
- XM``""TD$R.Q`&3OL0!``*`'0`.@!(`'0`7"!32AAF_%.(D=,O""\3+PI.N@``U
- XM3^\`#$J`9P1P`&!:(%-*&&;\4XB1TR`(U<!@.ER++PHO"V$`_H)03V`\2A)7?
- XMP$0`2(!(P%**2H!G''``8"A!ZP`&2'H`*"\*+P@O$V$`_;)/[P`08!!<BV``8
- XM_UQ*$F8$<`%@`G``3-\,`$YUO^P``&4```!(YP`P)F\`#"1O`!`@"F8$<`!@U
- XM/B`+9SAP!K`K``1G,"\*+PMA`/[^4$]*0&<$<`%@(!`K``1R`;`!9PA=`&<$C
- XM7(M@[G`!L"L`!&;(7(M@Q'``3-\,`$YU3E7_8+_L``!E````2.<',"9M``@D?
- XM;0`,/BT`&CPM`!XZ+0`J<`$K0/_\2BT`,V<.,"P`C@!``(`Y0`".8`8Y?``&>
- XM`(XY10*:.6T`+@*<2'C__B\*3KH``%!/*T#_^"!M`!!*$&8,0>P(U")M`!`2\
- XMV&;\(&T`$$/M_V(2V&;\2&W_8F$`^<A83RE``_(@2D/L`@02V&;\(&T`$$/LH
- XM`6X2V&;\($M#[`%-$MAF_"`'.4`(F"`&.4`(FBEM`"`(LB!M`"0I2`BV(`AG/
- XM!'`/8`)P`3E`",9P`"\`+P!A``PV2&P(F$ZZ``!/[P`,*4```$J`9@XO+?_XN
- XM3KH``'``8``!IDAL"-A(>/__+RP``$ZZ``!(>``!(&P``"\H`#).N@``2'@`2
- XM$TAX``8@;```+R@`,DZZ``!(>``)2&P)`B!L```O*``R3KH``$AX`)I(>``&[
- XM(&P``"\H`#).N@``2'@`!TAL"0P@;```+R@`,DZZ``!/[P!$2'@`I4AX``8@7
- XM;```+R@`,DZZ``!(>``(2&P)%"!L```O*``R3KH``$*7+RP``$AL!_Q.N@``F
- XM3^\`("\M__AA``#Z6$\K0/_\4X!F/B\M__A.N@``2'@``4*G+RP``$AL!_Q.U
- XMN@``2'C__DAL`@1.N@``0I<O+```2&P`]BM`__A.N@``3^\`)&"P+RW_^$ZZ.
- XM``!83TJM__QG``"&0>P!32)+$MAF_$'L`@0B2A+89OQ![`%N(FT`$!+89OQ*V
- XMK0`49UY![`($(FT`%!+89OP@2DH89OQ3B)'*<#HB"+`R&/]G,"!*2AAF_%.(Y
- XMD<H@"&<B($I*&&;\4XB1RG`O(@BP,AC_9PY(;`D>+RT`%$ZZ``!03TAL`4TO*
- XM+0`43KH``%!/+RP``$ZZ``!A``QL("W__$SM#.#_3$Y=3G5.5?_4O^P``&4`0
- XM``!(YP\R)FT`"'@`D<@K2/_D*TC_Z$AM_^1A``@06$]*`&8&<`!@``(B0FP`<
- XM"$AL`"Y(;``$2'@``6$``X!A``)<2'@`!4AL"2!(;`($3KH``$_O`!A*@&<`Q
- XM`7P@"V<``78@;?_P+P@O"TZZ``!(;?_D80`'N$_O``Q*`&8&<`!@``'((&W_8
- XM\"\(+PM.N@``4$\N`"`'2H!G``#\(&W_\%"(+PAA``=H6$]*0&8,(&W_\"`H,
- XM``1*@&\6(&W_\%"(+PAA``&06$]*@&<$<@%@`G(`+`$@!DJ`9T9P"KA`9"@@;
- XM;?_P(@121,+`<"W2@"\!2'@`"")L```O*0`R+PAA``@P3^\`$&`84D1P`#`$I
- XM2&P`+DAL``0O`&$``J)/[P`,<``P!$AM_^0O`&$``MQ03RH`<`:Z@&="<`2Z2
- XM@&8H2&P"!&$``:!(>``!0J<O+```2&P'_$ZZ```NK?_D80`(M'`!8```YG`$4
- XMNH!LM"\M_^1A``B@(`5@``#22H9G`/\&2&W_Y&$`!J983TH`9@#^]G``8```U
- XMMB)M__`@:0$(E<HA2@$$(&W_\"QM_^0B;@$$L\AF%"M*__0K2O_L*TK_Z"!M(
- XM_^0A2@$$2'@!$"\M__!.N@``4$\B;```(&D`5G``$"@`#W(!X:$O`4ZZ``!8_
- XM3W``,`1(;?_D+P!A``(,4$\J`'`&NH!GSG`$NH!F+$AL`@1A``#06$]*`&<>X
- XM2'@``4*G+RP``$AL!_Q.N@``+JW_Y&$`!]YP`6`0<`2Z@&RP+RW_Y&$`!\P@&
- XM!4SM3/#_N$Y=3G6_[```90```"\+)F\`"#`L`(X(```'9@1P`6`H($M*&&;\1
- XM4XB1RR`((DO3P%N)0>P))A`9L!AF!$H`9O96P$0`2(!(P"9?3G6_[```90``B
- XM`$*G(&P``"\H`#).N@``2'@`C4AX`-!(>``G2'@`""!L```O*``R3KH``$AXO
- XM``$@;```+R@`,DZZ``!/[P`D3G6_[```90```$CG`Q`F;P`02A-F$$'L"2PB1
- XM2Q+89OQP`6```+!^`'P!2C-X`&<82H9G%'(OLC-X`%?`1`!(@$C`+`!2AV#B"
- XM2H9G$$AL"2XO"TZZ``!03W`!8'@@2TH89OQ3B)'+<#HB"+`S&/]F!'``8&!\F
- XM`"!+2AAF_%.(D<L@""X`4X=*AVLZ<"^P,W@`9AY*AV<&L#-X_V8(<``7@'@!0
- XM8`9P`!>`>`!^`'P!8!!P.K`S>`!F"$(S>`%^`'P!4X=@PDJ&9@I![`DP(DL2-
- XMV&;\<`%,WPC`3G5.5?_\O^P``&4```!(YP$P/B\`&B9O`!PD;P`@<``P!R]`P
- XM``P@/``)__8B+P`,3KH``#=```A"IR\L```O"DZZ``!,[0R`__!.74YU3E7_3
- XM2+_L``!E````2.<',#XM``HF;0`,(&P``"\H`%9.N@``6$\K0/_V2H!G``,.<
- XM($`K:``<__([:``@_^([:``B_^`K:``4_^X[:``8_^0K:``D_^HK:``H_^8OI
- XM`$ZZ``!83R`M_^YR$)"!9R1R$)"!9P`!>G(@D(%G.`2```!_P&<``4($@```O
- XM@`!G``%,8(9P"KY`8X!P`#`L``AR`#('+PLO`2\`80`"GD_O``Q@`/]F(&W_I
- XM\@QH``H`)F)V(&@`&DAX``5(;`DZ+R@`#$ZZ``!/[P`,2H!G+B)M__(@:0`:#
- XM+R@`#&$`"AQ![`,J0^P"!!+89OQ(;`E`2&P"!$ZZ``!/[P`,8!0B;?_R(&D`+
- XM&B)H``Q%[`($%-EF_$AX``%"IR\L``!(;`?\3KH``'`!8``""B!M__(P*``F3
- XM!$``"VU\#$``"&QVT$`P.P`&3OL`!`!D`!0`%``.`!H`:@!J`"!P`&```=9P[
- XM`V```=!P!&```<H0+`%N2@!F(D'L"4)#[`%N,M!"$4AX``%"IR\L``!(;`%J?
- XM3KH``$_O`!!![`%N0^W_2A+89OQ(;?]*80#QVEA/*4`#\G`!8``!@'`%8``!.
- XM>B\\``"``"\L``!A``2`<`5@``%F+SP``0``+RP``&$`!&QP!6```5)P$B!MP
- XM__*P:``F9@9P`6```4!(>``%2&P)1DAL`@1.N@``3^\`#$J`9P#^`#`M_^!(T
- XMP'(FD(%R"DZZ```J`'P`*VL`$/_\O`5G%$JM__QG#B!M__PK:`$$__Q2!F#H2
- XM2JW__&<`_<8@;?_\("@`!$J`;W1#[`($)$E*&F;\4XJ5R7`Z0^P"`R(*L#$8#
- XM`&<R0^P"!"1)2AIF_%.*E<EP+T/L`@,B"K`Q&`!G%A`L`@1*`&<.2&P)3$ALO
- XM`@1.N@``4$\@;?_\4(@O"$AL`@1.N@``2'@``4*G+RP``$AL!_Q.N@``<`%@;
- XM:D/H``A![`%-$!BP&68F2@!F]F8@+RW_YB\M_^HO+`DV+RP),DZZ``!/[P`0-
- XM2H!G!'`#8#8@;?_\4(A#[`%-$MAF_$AX``%"IR\L``!(;`#V3KH``$_O`!`I5
- XM;?_J"3(I;?_F"39@`/S><`9,[0S@_S1.74YUO^P``&4```!(YR<0/B\`&CPOI
- XM`!XF;P`@<``P!W(`,@9T"I*"4H!.N@``2$!(P"H`<``P+`E.L(5G"B\++P5AB
- XM```04$\@!3E`"4Y,WPCD3G6_[```90```$CG!S`^+P`:)F\`'$I'9Q)\`"1K!
- XM``2\1V0,)&H!!%)&8/0D:P`$)TH`$'P`>BUP"KQ`9"P@"F<H<``P!2\`2'@``
- XM""!L```O*``R+PIA``$Z3^\`$%)&!D4`"B1J`01@SDS?#.!.=;_L``!E````8
- XM+PLF;P`(+PLO+`/R80#TQ%!/)E].=;_L``!E````+PLF;P`()VL`#``(+SP`9
- XM`0`!2'@!$$ZZ``!03R=```Q*@&8,+P!A``&V6$]P`&!D2I-F""!K``PFB&!61
- XM2JL`!&8H(%,B:P`,)TD`$"=)``@G20`$(4D!!"!3(FL`#"\)+PAA```T4$]@]
- XM*"!K``@B:P`,+PDO"&$``"!03R!K``@B:P`,(4D!!"!K``PA:P`(`0AP`29?H
- XM3G6_[```90```$CG`#`F;P`,)&\`$"23)6L`!``$)6L`=`!T)6L`>`!X)6L`-
- XM?`!\)6L`@`"`0>H`"$/K``@0V6;\0>H`D$/K`)`0V6;\)6L`A`"$)6L`B`"(X
- XM)6L`C`",3-\,`$YU3E7_U+_L``!E````2.<',"9M``@D;0`,/BT`$CPM`!9!#
- XMZP`(0^W_UA+89OP@*P`$2H!O('``,"P"G"\`+PI.N@``2&P)4$AM_]9.N@``E
- XM3^\`$&`0<``P+`*:+P`O"DZZ``!03W``,`=R`#(&+P$O`"\*3KH``$AX`!E('
- XM;`E8+PI.N@``<``P!W(`,@8N@2\`+PI.N@``3^\`($'K``@B2$H99OQ3B9/(V
- XM(`ER&;"!;A)!ZP`((DA*&6;\4XF3R"`)8`(@`2H`0>L`"'``,`4O`"\(+PI.;
- XMN@``3.T,X/_`3EU.=4Y5__B_[```90```$CG`#`F;0`()&L!!$AX`1`O"TZZ7
- XM``!03R!**TC_^"`(9Q(D:`$$2'@!$"\(3KH``%!/8.1,WPP`3EU.=4Y5_\"_>
- XM[```90```$CG/S(F;0`(+BT`#'P`(&P``"MH`"+__"!M__P@*``8Y8`@0"(HB
- XM``3E@4/L!S@K0/_X*T'_]"M)__!P"KP`9'1*K?_T9VX@;?_T2J@`!&962J@`M
- XM"&=0+PAA``(&6$]*`&=$(&W_]"\H`"A(;?_#80`!KDAL"7)(;?_#3KH``$_OM
- XM`!`B;?_P(&D`&D7M_\,L:``,'-IF_%(&*VW_\/_H(&W_\"M0__`@;?_T(!#E>
- XM@"M`__1@AB`+9Q!"IR!L```O*``R3KH``%!/*@8,AP`!``!G``"02JP(R&<`S
- XM`(@K;`C(_^Q*K?_P9WH@;?_L(FW_\+/(9VY#[`,4L<EG9B`+9@@$:`$```Q@F
- XM4#`H``1(P#(H``9(P30H``1(PC8H``A(P]2#4X(V*``&2,,X*``*2,36A%.#Y
- XM+P,O`B\!+P`@;```+R@`,DZZ``!"ER\++RW_[$ZZ``!/[P`<(&W_["M0_^Q@9
- XM@"EM__`(R`R'``"``&=:<`J\`&14(&W_\$IH``QG"B`\```!`$J`9D`B;?_P-
- XM(&D`&D7L"70L:``,'-IF_"`+9@P@;?_P!F@!```,8!!"IR\++RW_\$ZZ``!/2
- XM[P`,4@8@;?_P*U#_\&"F(`MG%G``$`4O`$*G+PM(;`<X3KH``$_O`!!,WTS\Z
- XM3EU.=4Y5__R_[```90```$'L!S@K2/_\0>P#%")M__RSR&<.0FD`#"!M__PK>
- XM4/_\8.9.74YUO^P``&4```!(YP<P)F\`&"XO`!P@!^6`)$!\`!P:<!2\@&X"M
- XM(`8L`'H`NH9L"A`:%X!8`%*%8/)",U@`3-\,X$YU3E7_\+_L``!E````2.<!]
- XM$"9M``A^`"\\``$``4AX`"1.N@``4$\K0/_V2H!F!G``8```VB\\``$``4AX.
- XM`$1.N@``4$\K0/_R2H!F$DAX`"0O+?_V3KH``'``8```L'``+P`O`$ZZ``!0L
- XM3RM`__QF'DAX`"0O+?_V3KH``$AX`$0O+?_R3KH``'``8```@"!M__(1?``%O
- XM``A#Z``4(4D`"B)M__PA20`.(4@`%'`9(4``'"`M__8B`.2!(4$`*"%)`!@O$
- XM""\K``A.N@``+JW__$ZZ```@;?_V#*A$3U,``!A7P$0`2(!(P"X`+JW__$ZZ[
- XM``!(>``D+RW_]DZZ``!(>`!$+RW_\DZZ```@!TSM"(#_Z$Y=3G5.5?_\O^P`<
- XM`&4```!(YP,P)FT`""1M``Q^`$HS<`!G#B!M`!`1LW``<`!21V#L(`=(P'(Z@
- XM(&T`$+(P"/]G&B`'2,!R+[(P"/]G#DI'9PI*$F<&$8%P`%)'?`!*,F``9Q@@2
- XM!TC`(@9(P="!(&T`$!&R8``(`%)&8.(@!TC`(@9(P="!(&T`$$(P"`!,WPS`R
- XM3EU.=4Y5__2_[```90```$CG!P`N+0`(+SP``0``2'@!!$ZZ``!03RM`__9*O
- XM@&8$<`!@9B\M__8O!TZZ```@;?_V4(A(;`*>2&P#*B\(80#_(D_O`!1\``Q&7
- XM`(QL$D'L`IY#[`,J$[!@`&``4D9@Z"\'3KH``"H`+H=.N@``6$\N!4J'9P@O$
- XM!V$`_WI83TAX`00O+?_V3KH``$SM`.#_Z$Y=3G6_[```90```$CG`Q`F;P`0+
- XM?@`,1P",;!9P`$'L`IX1@'``0>P#*A&`<`!21V#D2'C__B\+3KH``%!/+`!*I
- XMAF8$<`!@+"\&80#_&%A/?@`,1P",;!QP+T'L`RJP,'``9@Q![`,J$;P`.G``Q
- XM8`121V#>3-\(P$YU```#^````%L````!```5=```%6P``!5,```5!@``%-@`Z
- XM`!2P```4:```%%```!1(```4+@``$^8``!.>```2N```$H```!#X```0I```$
- XM$)```!!*```01```$#8``!`R```0"@``$`8```_>```/V@``#[8```\:```.8
- XM]@``#N(```ZJ```.I@``#I0```X^```..@``#@X```W>```-L```#2X```T"6
- XM```,N```##P```P&```+X```"]````NT```+D```"W````LT```+,```"N0`A
- XM``I>```*6@``"B````H<```*`@``"50```E````)/```"3@```CJ```(S@``<
- XM"$(```@^```(*```""0```?X```']```!^8```?B```'T@``![H```>V```':
- XMI@``!Y(```>.```'?@``!VH```=>```'5@``!T````<T```')@``!Q@```<0Q
- XM```'"@``!P0```:\```&E@``!HX```:&```"N@```"T````"```8?```&'(`C
- XM`!@^```8-@``%]H``!?6```7P```%[P``!*4```2=```$2P``!`D```/[@``&
- XM#\P```^Z```/K@``#Z(```^2```/A@``#W8```\>```.S```#K8```Z8```.,
- XMC```#BP```X2```.!@``#@(```L<```*3```"5@```C<```(C```"'H```AP:
- XM```(9@``"#0```;Z```&\```!N0```;>```&H```!IH````H`````````^^&4
- XM```"7U]B87-E```````=```8'```%X```!;N```5V```%9(``!5D```3;```3
- XM$R0``!)"```1V@``$3H``!$<```0K@``$%X```T:```,S@``"_(```NJ```+8
- XM8@``"0@```9:```%]@``!2(```0T```#C@```*8```!D````2@````:#```"=
- XM7U]X8V]V9@`````=```8(```%X0``!;R```5W```%98``!5H```3<```$R@`S
- XM`!)&```1W@``$3X``!$@```0L@``$&(```T>```,T@``"_8```NN```+9@``O
- XM"0P```9>```%^@``!28```0X```#D@```*H```!H````3@````J#```"7VUA0
- XM;&QO8P`````!````%H,```)?;&]N9VIM<`````$````L@P```E]S971M96T`X
- XM`````0```#J#```"7V9R964````````!````6H,```)?7T-833(R``````,`N
- XM``-8```#0@```."#```"7W-T<F-H<@`````!```"OH,```)?<W1R=7!R````/
- XM``$```,6@P```U]S=')N:6-M<`````````4```\B```-Y@``"5P```6&```$,
- XMH(,```)?3&]C:P````````,``!A0```(.```!JJ#```#7T]P96Y7:6YD;W<`7
- XM`````0``!SB#```"7U5N3&]C:P`````$```7\@``"%@```@:```'3(,```1?X
- XM4V5T5VEN9&]W5&ET;&5S`````0``!V*#```"7U-E=$%096X````&```4-@``'
- XM$IP``!)\```+Z```"[P```=R@P```E]-;W9E````````!0``$M```!*P```':
- XMV@``!ZX```>&@P```E]497AT````````!0``$Q(``!*^```'[@``!\(```>:^
- XM@P``!%]!8W1I=F%T94=A9&=E=``````"```(2@``!_R#```$7U)E9G)E<VA'V
- XM3&ES=`````````@``!50```0.@``#^(```ZN```.0@``"S@```IB```(+(,`V
- XM``)?<W1R8V%T``````@``!/N```2B```#]````^^```.%@``#$(```CD```(G
- XMUH,```-?0VQO<V57:6YD;W<````!```([H,```)?17AA;6EN90````(``!>R6
- XM```)>(,```)?17A.97AT``````$```F:@P```E]&<F5E365M````"0``&`X`9
- XM`!;:```6S@``%E@``!9,```6*```$U@``!,^```*WH,```)?5V%I=```````_
- XM``$```KX@P```U]296-T1FEL;`````````(``!2X```+V(,```)?7T-81#,SV
- XM``````(```\\```,^(,```1?4F5F<F5S:$=A9&=E=',``````0``#0B#```"@
- XM7T=E=$US9P`````!```--H,```-?4F5P;'E-<V<````````!```-=(,```-?I
- XM1&]U8FQE0VQI8VL````!```0#H,```)?7T-833,S``````$``!"$@P```U]!L
- XM;&QO8TUE;0````````0``!>:```6$@``%?0``!%8A@```E]$3U-"87-E````@
- XM`0``$X*#```#7T]N1V%D9V5T`````````0``%,2#```#7T]F9D=A9&=E=```I
- XM`````0``%2J#```#7T-R96%T95!O<G0``````0``%CB#```"7U!U=$US9P``Q
- XM```!```6G(,```-?5V%I=%!O<G0````````!```6I(,```-?1&5L971E4&]RV
- XM=``````!```6PH,```-?4&%R96YT1&ER```````!```7Z@$```)?<V%L;&]C=
- XM```````!```"7W-F<F5E``````!(`0``!%]#;VUP:6QE4&%T=&5R;@````"@J
- XM`0``!%]-871C:%!A='1E<FX```````7T`0```U]'971&:6QE;F%M90``!E0!G
- XM```"7T=E=$YA;64```D"`0```U]#:&5C:TEN9F\`````"V`!```$7T-L96%R0
- XM1FEL94)O>```````"Z@!```#7U!A<F5N=&EZ90`````+\`$```1?57!D871ES
- XM4VQI9&5R```````,R`$```5?0VAE8VM);G1U:4UE<W-A9V5S````#10!```#@
- XM7U5P9&%T94QI<W0````07`$```-?4F5W<FET94QI<W0``!"L`0```U]#:&5C]
- XM:T5X=```````$1H!```"7T=E=$9I8@```!$X`0```E]#;W!Y1DE"```1V`$`;
- XM``1?4')I;G1&:6QE3F%M90`````2/`$```1?1G)E949U;F--96UO<GD````3]
- XM'@$```5?4'5T1&5V:6-E<TEN1V%D9V5T<P``$V8!```$7U)E<V5T1V%D9V5TA
- XM<P``````%5X!```"7V)S=')C<'D``!60`0```U])<T1/4T1I<VL`````%=(!L
- XM```$7T1O<T-O;F-A=&5N871E````%N@!```#7U-E96M2;V]T```````7>@$`-
- XM``-?36%K94%B<TYA;64``!@:`````````_(```/H`````E]?34521T5$```#`
- XMZ@```E\```````7__P*5`H\"CP````````````````````$`#P`$````````;
- XM``````````````#9`",`%P!N````"``#````&@````````````````````0`J
- XM$````````````"\`"P`"``````$`````````````+P`+``(```!"`P``````.
- XM````+@"E``L`+P`+``8!`@`!````6@```&X`````````````````$@``````\
- XM``%-````E@```"$``````````````````````````````````````-D```#9W
- XM``H````*`````/_^__\!``$%````T@````````""`%8`GP#6``D````!``0`#
- XM``#F````````````````````K@`,`````````6X```"W````E@``````````<
- XM````````````````````````````FP```)L`"@````H`````__[__P$``04`,
- XM``%&`````````/8`5@"3`)@`"0````$`!````5H```````````````````$B*
- XM`!(```````````!9````60`,````#`````'_____`0`!!0```98`````3VL`Q
- XM``$``0``)0`"`````````;H````````!:@`&`*P`6``+`````0`!```!J@``1
- XM``````&^````````````#0```````````%0```!4``H````*`````?____\!&
- XM``$%```!_@````!087)E;G0```$``0``$P`!`````````B(````````!T@#:6
- XM``P`4P`)`````0`!```"$@````````(J````````````#P```````````%D`2
- XM``!9``P````,`````?____\!``$%```":@````!#86YC96P```$``0``%0`"`
- XM`````````HX````````"/@#5`*P`6``+`````0`!```"?@````````*6````.
- XM````````#@```````````#D````Y``H````*`````?____\!``$%```"U@``P
- XM``!025!%.@`!``$```H``0````````+Z`````````JH`]0"3`#@`"0````$`G
- XM`0```NH````````#``````````````H````````````Y````.0`*````"@```
- XM``'_____`0`!!0```T``````("`@(````0`!```-``$````````#9```````^
- XM``,4`/4`AP`X``D````!``$```-4`````````VH````````````)````````C
- XM````.0```#D`"@````H````!_____P$``04```.J`````"`@("````$``0``Y
- XM#0`!`````````\X````````#?@#U`'P`.``)`````0`!```#O@````````/4L
- XM````````````"````````````#D````Y``H````*`````?____\!``$%```$6
- XM%``````@("`@```!``$```T``0````````0X`````````^@`]0!Q`#@`"0``R
- XM``$``0``!"@````````$/@````````````<````````````Y````.0`*````S
- XM"@````'_____`0`!!0``!'X`````("`@(````0`!```-``$````````$H@``&
- XM``````12`/4`9@`X``D````!``$```22````````!*@````````````&````\
- XM````````.0```#D`"@````H````!_____P$``04```3H`````"`@("````$`W
- XM`0``#0`!````````!0P````````$O`#U`%L`.``)`````0`!```$_```````S
- XM``42````````````!0```````````#D````Y``H````*`````?____\!``$%F
- XM```%4@`````@("`@```!``$```T``0````````5V````````!28`]0!0`#@`*
- XM"0````$``0``!68````````%?`````````````0````````````Y````.0`*W
- XM````"@````'_____`0`!!0``!;P`````("`@(````0`!```-``$````````%D
- XMX`````````60`/4`.@`X``D````!``$```70````````!>8````````````"I
- XM````````````.0```#D`"@````H````!_____P$``04```8F`````"`@("``V
- XM``$``0``#0`!````````!DH````````%^@#U`$4`.``)`````0`!```&.@``<
- XM``````90`````````````P```````````#D````Y``H````*`````?____\!=
- XM``$%```&D``````@("`@```!``$```T``0````````:T````````!F0`]0`OT
- XM`#@`"0````$``0``!J0````````&N@````````````$````````````Y````G
- XM.0`*````"@````'_____`0`!!0``!OH`````("`@(````0`!```-``$`````A
- XM```''@````````;.`/4`)``X``D````!``$```<.````````!R0`````````5
- XM````````````````SP```,\`;0```&T`````__[__P$``04```=D````````E
- XM!S@`!@`D`,P`;``#``(``0``!W@``````````````````````!$````````"Y
- XM!`````````"6``````````````````````````````````````$I```!*0`*X
- XM````"@````#__O__`0`!!0``!]@````````'B``&`!@!)@`)`````0`$```'4
- XM[```````````````````![0`"P````!&:6QE('!A='1E<FX```$``0``!@"4L
- XM````````""@`````?D9I;&5N86UE``$``0``!@"?````````"$H```@V1"%I4
- XM<F5C=&]R>0```0`!```%``T````````(:```"%1%;G1E<B!F:6QE;F%M90``'
- XM``8`"0$S`+L``0`"@'```!`"```'_`````````B(````````````!0`%`H``B
- XMR``!`````"@I?",_)0``(S\``%E!1E(@5C$N,C$@J3$Y.#DL(#$Y.3`@8GD@'
- XM1&%V92!38VAR96EB97(``$1I<F5C=&]R>0!0871T97)N`$9I;&5N86UE```O:
- XM`%!)4$4Z`"YI;F9O`"\`+P``````````````4$E013H`.@`C/P``4$E013H`,
- XM+P!U,"`@*&1I<BD`("`@("`@("`@("`@("`@("`@("`@("`@(``Z`"`@("``^
- XM```````#[````&$````!```(L@``"*H```B$```(@```"&0```A@```(0@``O
- XM"!X```@.```'_```!_0```>:```'B```!X````=2```'2@``!S@```<P```'8
- XM%@``!N@```;@```&S@``!L8```:L```&?@``!G8```9D```&7```!D(```84J
- XM``````!?H```7R```%V```!:H```6B```%D```!8@```5N```%0```!3@`2
- XM``4F```%'@``!00```36```$S@``!+P```2T```$F@``!&P```1D```$4@``'
- XM!$H```0P```$`@```_H```/H```#X````\8```.8```#D````WX```-V```#'
- XM7````RX```,F```#%````PP```+R```"Q````KP```*J```"H@```H8```)8&
- XM```"4````CX```(V```"&@```>P```'D```!T@```<H```&R```!C````7P`3
- XM``%J```!8@```1@```$(````]@```.X```"8````E````((```!0````0```2
- XM``8````"```'N```![0```$F```!(@```+(```"N`````@````,```!X````I
- XM9`````````/O`0```U]&3E=I;F1O=P`````````!```#7U-L:61E<E-);F9OJ
- XM````!`$```)?26UA9V4Q`````!H!```"7U-L:61E<@`````N`0```E]);6%GG
- XM93(`````6@$```)?26UA9V4S`````&X!```"7TEN9F\```````""`0``!%]F1
- XM:6QE;F%M95-);F9O``````"N`0``!%]";W)D97)696-T;W)S,0````#2`0``4
- XM`E]";W)D97(Q````Y@$```-?9FEL96YA;64```````#V`0``!%]%>'1.86UE&
- XM4TEN9F\```````$B`0``!%]";W)D97)696-T;W)S,@````%&`0```E]";W)D,
- XM97(R```!6@$```)?17AT3F%M90```6H!```$7T)O<F1E<E9E8W1O<G,S````^
- XM`98!```"7T)O<F1E<C,```&J`0```E])5&5X=#(S```!O@$```%?;VL````!E
- XMT@$```1?0F]R9&5R5F5C=&]R<S0````!_@$```)?0F]R9&5R-````A(!```"X
- XM7TE497AT,C0```(J`0```E]P87)E;G0````"/@$```1?0F]R9&5R5F5C=&]R`
- XM<S4````":@$```)?0F]R9&5R-0```GX!```"7TE497AT,C4```*6`0```E]C=
- XM86YC96P````"J@$```1?0F]R9&5R5F5C=&]R<S8````"U@$```)?0F]R9&5RE
- XM-@```NH!```"7TE497AT,C8```,``0```E]P:7!E```````#%`$```1?0F]R+
- XM9&5R5F5C=&]R<S<````#0`$```)?0F]R9&5R-P```U0!```"7TE497AT,C<`B
- XM``-J`0```5]R860```-^`0``!%]";W)D97)696-T;W)S.`````.J`0```E]"W
- XM;W)D97(X```#O@$```)?251E>'0R.````]0!```!7U)A;0```^@!```$7T)OG
- XM<F1E<E9E8W1O<G,Y````!!0!```"7T)O<F1E<CD```0H`0```E])5&5X=#(Y$
- XM```$/@$```%?=F1K```$4@$```1?0F]R9&5R5F5C=&]R<S$P```$?@$```-?L
- XM0F]R9&5R,3````````22`0```E])5&5X=#,P```$J`$```%?=F0P```$O`$`@
- XM``1?0F]R9&5R5F5C=&]R<S$Q```$Z`$```-?0F]R9&5R,3$```````3\`0``9
- XM`E])5&5X=#,Q```%$@$```%?9&@R```%)@$```1?0F]R9&5R5F5C=&]R<S$R?
- XM```%4@$```-?0F]R9&5R,3(```````5F`0```E])5&5X=#,R```%?`$```%?]
- XM9&@Q```%D`$```1?0F]R9&5R5F5C=&]R<S$S```%O`$```-?0F]R9&5R,3,`$
- XM``````70`0```E])5&5X=#,S```%Y@$```%?9&8R```%^@$```1?0F]R9&5R4
- XM5F5C=&]R<S$T```&)@$```-?0F]R9&5R,30```````8Z`0```E])5&5X=#,T4
- XM```&4`$```%?9&@P```&9`$```1?0F]R9&5R5F5C=&]R<S$U```&D`$```-?D
- XM0F]R9&5R,34```````:D`0```E])5&5X=#,U```&N@$```%?9&8Q```&S@$`7
- XM``1?0F]R9&5R5F5C=&]R<S$V```&^@$```-?0F]R9&5R,38```````<.`0``,
- XM`E])5&5X=#,V```')`$```%?9&8P```'.`$```1?0F]R9&5R5F5C=&]R<S$W-
- XM```'9`$```-?0F]R9&5R,3<```````=X`0```U]F:6QE;F%M96)O>```!X@!0
- XM```$7T1I<DYA;65326YF;P``````![0!```$7T)O<F1E<E9E8W1O<G,Q.```N
- XM!]@!```#7T)O<F1E<C$X```````'[`$```)?1&ER3F%M90``!_P!```"7TE4`
- XM97AT,SD```@V`0```E])5&5X=#,X```(5`$```)?251E>'0S-P``"'0!```#,
- XM7TYE=T9.5VEN9&]W```(F`$```1?1FER<W1$:7-A8FQE9``````(R```````)
- XM``/R```#Z`````)?7TU%4D=%1````^L```#^```#[P$```1?1$E254Y$3T)5"
- XM1D9%4@````````$```1?1DY53D1/0E5&1D52````````E@$```1?15A454Y$=
- XM3T)51D9%4@``````MP$```1?9FEL96YA;65324)U9F8````!30$```1?17ATG
- XM3F%M95-)0G5F9@`````!;@$```1?1&ER3F%M95-)0G5F9@`````"!`$```9?>
- XM>6%F<E]E7T9I;&5N86UE4&5N0V]L;W(```*:`0``!E]Y869R7V5?1&ER;F%M*
- XM95!E;D-O;&]R`````IP!```"7V%B<T1I<@````*>`0```U]A8G-$:7).86UEU
- XM`````RH!```"7VQO=VUE;0````.V`0``!%]-87-T97)0871T97)N``````/R\
- XM`````````_(```/H`````6-H:7!```/J````,O_______L``````!L`&``<`P
- XM!L````V`!L`.'PP/!L`&&9X9AL`&&8P9AL8&&8P9AL8/&9X/!L``````!O__"
- XM_____A______\,``````!L`&``<`!L````P`!L`.!P`/!L`&&!X9AL`&`8`96
- XMAL8`&8P9AL8/&9X`!L``````!A______\.``````#AX`````\`'P```?```/.
- XM@`/@````>#P`````!\``````>#P````/@`/@``'P```?`!X`````\.``````"
- XM#@`````#[P$```-?26UA9V5$871A,@```````0```U]);6%G941A=&$S````E
- X*`$(````````#\@-?9
- X``
- Xend
- Xsize 13780
- END_OF_FILE
- if test 19332 -ne `wc -c <'YAFR.o.uu'`; then
- echo shar: \"'YAFR.o.uu'\" unpacked with wrong size!
- fi
- # end of 'YAFR.o.uu'
- fi
- if test -f 'pattern.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'pattern.h'\"
- else
- echo shar: Extracting \"'pattern.h'\" \(10288 characters\)
- sed "s/^X//" >'pattern.h' <<'END_OF_FILE'
- X/* ====================================================================== */
- X
- X/*
- X AmigaDOS Pattern Matching Demo
- X March 20, 1990
- X
- X by Dave Haynie
- X
- X Released to the Public Domain
- X
- X This is the AmigaDOS Pattern Matcher I developed for DiskSalv
- X V1.40. So far, it seems to work just fine, and certainly works
- X better than any public domain code I managed to dig up, most
- X of which was limited to the '?' and '#' characters instead of
- X full AmigaDOS patterns.
- X
- X This will compile under Lattice V5.02 with the command:
- X
- X lc -L pattern.c
- X
- X The Lattice global optimizer seems to have trouble with it, at
- X least with the V5.02 system.
- X
- X With the function prototypes removed, I suspect it would be a
- X simple port to the Manx V3.6a compiler.
- X
- X I'd certainly appreciate any feedback on this code, especially
- X if there are any patterns it doesn't correctly match.
- X*/
- X
- X#include <exec/types.h>
- X#include <string.h>
- X#include <stdio.h>
- X#include <setjmp.h>
- X
- X/* ====================================================================== */
- X
- X/* These are my allocator routines, slight variations on the C library
- X routines. The pattern matching code was designed to use the DiskSalv
- X safe chunky allocator, and rather than re-write the code to use
- X something else, I provide some basically equivalent routines below.
- X The pattern compiler allocates string memory, and works best with a
- X memory allocator that can be cleaned up at program's end (eg, a plain
- X AllocMem() here isn't a good idea). */
- X
- Xjmp_buf lowmem; /* Don't forget to initialize this! */
- X
- X/* This is the basic safe allocator; it always returns a valid pointer.
- X The pattern matcher counts on the memory returned having been zeroed
- X out! */
- X
- Xchar *salloc(LONG size) {
- X char *ptr;
- X
- X if (!(ptr = (char *)malloc(size))) longjmp(lowmem,-1);
- X setmem(ptr,size,'\0');
- X return ptr;
- X}
- X
- X/* This is just for compatibility purposes. */
- X
- Xvoid sfree(char *ptr) {
- X free(ptr);
- X}
- X
- X/* ====================================================================== */
- X
- X/* This is the definition of a pattern element. The pattern compiler will
- X create an array of these elements from a string passed to it. */
- X
- Xtypedef struct {
- X char *aux; /* Auxilary data; string or paren-count */
- X BYTE type; /* Corresponding character type */
- X} pattern;
- X
- X/* The types, for the "special" array. */
- X
- X#define pSTRING 0 /* Plain old string */
- X#define pALT 1 /* The alternation character */
- X#define pREP 2 /* The repeat character */
- X#define pANY 3 /* The match-any character */
- X#define pNULL 4 /* The match-null character */
- X#define pSUB 5 /* A subpattern */
- X#define pEND 6 /* End of the pattern. */
- X
- X/* This is the definition of a pattern matching function, for use in the
- X "MatchSub()" coroutine. */
- X
- Xtypedef BOOL (*patfunc)(pattern *, char *);
- X
- X/* ====================================================================== */
- X
- X/* This section contains the pattern compiler code. */
- X
- X/* This function takes in a string from which one parenthesis has been
- X stripped. It returns a pointer to the position of the matching
- X parenthesis, or NULL if it isn't found. */
- X
- Xstatic char *FindParen(char *str) {
- X short parencnt = 1;
- X
- X while (*str) {
- X switch (*str) {
- X case '(' :
- X ++parencnt;
- X break;
- X case ')' :
- X if (--parencnt == 0) return str;
- X break;
- X default :
- X break;
- X }
- X ++str;
- X }
- X return NULL;
- X}
- X
- X/* This function creates a pattern for later pattern matching. It checks
- X syntax as well, since we don't want invalid patterns to possibly crash
- X the machine or otherwise cause trouble. This is a destructive compile,
- X in that it trashes the input string. */
- X
- Xpattern *CompilePattern(char *str) {
- X pattern *pat, *result = NULL;
- X short i = 0, j, tlen, plen = strlen(str)+1;
- X char fch, nch, *sub, *tmp;
- X
- X if (!str) return NULL;
- X
- X pat = (pattern *)salloc(sizeof(pattern)*plen);
- X while (fch = *str++) {
- X nch = *str;
- X switch (fch) {
- X case '(' : /* The start of a group */
- X if (nch == '|' || nch == ')') goto fail;
- X pat[i].type = pSUB;
- X if (!(str = FindParen(sub = str))) goto fail;
- X *str++ = '\0';
- X if (!(pat[i].aux = (char *)CompilePattern(sub))) goto fail;
- X break;
- X case ')' : /* We should never see the end of a group */
- X goto fail;
- X case '|' : /* Alternation */
- X if (nch == '|' || nch == ')') goto fail;
- X pat[i].type = pALT;
- X break;
- X case '#' : /* Repeatition */
- X if (nch == '#' || nch == '|' || nch == ')' || !nch) goto fail;
- X pat[i].type = pREP;
- X switch (nch) {
- X case '(' :
- X case '%' :
- X case '?' :
- X break;
- X case '\047':
- X nch = *str++;
- X default:
- X pat[++i].type = pSTRING;
- X pat[i].aux = (char *)salloc(2);
- X pat[i].aux[0] = nch;
- X str++;
- X break;
- X }
- X break;
- X case '?' : /* One of anything */
- X pat[i].type = pANY;
- X break;
- X case '%' : /* One of nothing */
- X pat[i].type = pNULL;
- X break;
- X default: /* Normal characters */
- X pat[i].type = pSTRING;
- X tmp = (char *)salloc((long)(tlen = strlen(str)+2));
- X tmp[0] = fch;
- X j = 1;
- X while (*str && !strchr("()|#?%",*str)) {
- X if (*str == '\047') ++str;
- X tmp[j++] = *str++;
- X }
- X tmp[j] = '\0';
- X strupr(strcpy(pat[i].aux = salloc(j+1),tmp));
- X sfree(tmp);
- X break;
- X }
- X ++i;
- X }
- X pat[i++].type = pEND;
- X result = (pattern *)memcpy(salloc(sizeof(pattern)*i),(char *)pat,sizeof(pattern)*i);
- X
- Xfail:
- X sfree((char *)pat);
- X return result;
- X}
- X
- X/* ====================================================================== */
- X
- X/* This is the actual pattern matching code. This code hasn't been really
- X optimized or anything; it's highly recursive, but it's designed to be
- X as nice to your stack as possible. There are four coroutines in my
- X pattern matcher. The top-level routine "MatchPattern()" takes in a
- X pattern and a string, and knows only how to subdivide an alternated
- X pattern and pass that on the the single pattern matcher, "MatchOne()".
- X That routine knows how to match strings, NULLs, and ANYs. It calls
- X "MatchRepeat()" to handle the repeat pattern, and "MatchSub()" to handle
- X a sub-pattern. Similarly, the "MatchRepeat()" routine knows how to match
- X repeated strings, NULLs, and ANYs. It also calls the "MatchSub()" routine
- X to handle repeated subpatterns. The "MatchSub()" splits the input string
- X into strings for the subpattern and parent pattern to match, and works
- X through these until a match is found or we've tried all possibilities.
- X It calls "MatchPattern()" on a simple subpattern, or "MatchRepeat()" on a
- X repeated subpattern. */
- X
- X/* Forward Declarations */
- X
- Xstatic BOOL MatchOne(pattern *, char *);
- Xstatic BOOL MatchSub(pattern *, pattern *, char *, patfunc);
- Xstatic BOOL MatchRepeat(pattern *, char *);
- X BOOL MatchPattern(pattern *, char *);
- X
- X/* This function matches a subpattern, where "sub" is the subpattern,
- X "pat" is the rest of the pattern at the current level, and "str"
- X is the usual string. The string splitting uses dynamic allocation
- X to avoid stack overflows as much as possible, the "subob" function
- X is the particular pattern matching function to use on the subpattern. */
- X
- Xstatic BOOL MatchSub(pattern *sub, pattern *pat, char *str, patfunc subop) {
- X short pos, len = strlen(str)+1;
- X char *copy = salloc(strlen(str)+1);
- X
- X for (pos = 0; pos < len; pos++) {
- X if ((*subop)(sub,copy) && MatchOne(pat,str)) {
- X sfree(copy);
- X return TRUE;
- X }
- X copy[pos] = *str++;
- X }
- X sfree(copy);
- X return FALSE;
- X}
- X
- X/* This function matches a repeat pattern. It returns the part of the
- X string not matched, or NULL if the whole string was matched. */
- X
- Xstatic BOOL MatchRepeat(pattern *pat, char *str) {
- X pattern *local = pat++;
- X
- X switch (local->type) {
- X case pSTRING :
- X while (TRUE) {
- X if (MatchPattern(pat,str)) return TRUE;
- X if (strnicmp(str,local->aux,strlen(local->aux))) break;
- X str += strlen(local->aux);
- X }
- X break;
- X case pANY :
- X do {
- X if (MatchPattern(pat,str)) return TRUE;
- X } while (*++str);
- X if (pat[0].type == pEND || pat[0].type == pALT) return TRUE;
- X break;
- X case pNULL :
- X break;
- X case pSUB :
- X if (MatchPattern(pat,str)) return TRUE;
- X return MatchSub((pattern *)local->aux,pat,str,MatchRepeat);
- X case pEND :
- X break;
- X }
- X return MatchOne(pat,str);
- X}
- X
- X/* This function tries to match a single pattern against the given
- X string. It is up to the calling function to worry about alternation. */
- X
- Xstatic BOOL MatchOne(pattern *pat, char *str) {
- X if (!str) return FALSE;
- X
- X while (pat->type != pEND && pat->type != pALT) {
- X switch (pat->type) {
- X case pSTRING:
- X if (strnicmp(str,pat->aux,strlen(pat->aux))) return FALSE;
- X str += strlen(pat->aux);
- X break;
- X case pREP :
- X return MatchRepeat(++pat,str);
- X case pANY :
- X if (!*str++) return FALSE;
- X break;
- X case pNULL :
- X break;
- X case pSUB :
- X return MatchSub((pattern *)pat->aux,pat+1,str,MatchPattern);
- X }
- X ++pat;
- X }
- X if (!*str) return TRUE;
- X return FALSE;
- X}
- X
- X/* This function matches a given string against a precompiled pattern. The
- X main function here doesn't do any actual matching; it just subdivides
- X a pattern into individual items based on any alternation used. */
- X
- XBOOL MatchPattern(pattern *pat, char *str) {
- X if (!str) return FALSE;
- X
- X while (pat && pat->type != pEND) {
- X if (MatchOne(pat,str)) return TRUE;
- X
- X while (pat->type != pALT && pat->type != pEND) ++pat;
- X if (pat->type == pALT) ++pat;
- X }
- X return FALSE;
- X}
- X
- X/* ====================================================================== */
- X
- END_OF_FILE
- if test 10288 -ne `wc -c <'pattern.h'`; then
- echo shar: \"'pattern.h'\" unpacked with wrong size!
- fi
- # end of 'pattern.h'
- fi
- if test -f 'yafrHead.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'yafrHead.h'\"
- else
- echo shar: Extracting \"'yafrHead.h'\" \(1409 characters\)
- sed "s/^X//" >'yafrHead.h' <<'END_OF_FILE'
- X#include <exec/types.h>
- X#include <exec/exec.h>
- X#include <intuition/intuition.h>
- X#include <libraries/dos.h>
- X#include <libraries/dosextens.h>
- X#include <dos.h>
- X
- X#include "WdwDefs.h"
- X
- Xextern struct IntuitionBase *IntuitionBase;
- Xextern struct GfxBase *GfxBase;
- Xextern struct DosLibrary *DOSBase;
- X
- X#define WORDROUND(xxx) (((long)xxx+3)>>2)<<2) /* Round to word boundary */
- X#define D_S(name, type) char c_##name[sizeof(type)+3]; \
- X type *name = (type *)WORDROUND(c_##name);
- X
- X#define XBorder 8
- X#define YBorder 45
- X
- X#define GN_CANCEL 0
- X#define GN_NEWDIR 1
- X#define GN_NEWDISK 2
- X#define GN_OK 3
- X#define GN_PARENT 4
- X#define GN_RIEN 5
- X#define GN_DONE 6
- X
- Xstruct fibNode
- X {
- X struct FileInfoBlock fib;
- X struct fibNode *next,*prev;
- X ULONG num;
- X };
- X
- Xstruct fibHeader
- X {
- X struct fibNode *directory,*first,*last,*current,*top;
- X ULONG curnum,firstnum;
- X };
- X
- XUSHORT yafr_e_FilenamePenColor,yafr_e_DirnamePenColor;
- X
- X#define MAXPATHSTRING 140
- Xchar absDir[MAXPATHSTRING];
- Xchar absDirName[MAXPATHSTRING];
- X
- Xstruct Gadget *FirstDisabled = NULL; /*The first ghosted gadget...*/
- X
- X
- XBYTE IsDOSDisk();
- Xvoid ResetGadgets();
- Xvoid bstrcpy();
- Xvoid ClearFileBox();
- XBYTE Parentize();
- Xvoid UpdateSlider();
- Xvoid UpdateList();
- Xvoid RewriteList();
- XBYTE CheckExt();
- XBYTE GetFib();
- Xvoid CopyFIB();
- Xvoid PrintFileName();
- Xvoid RefreshGadget();
- Xvoid FreeFuncMemory();
- Xvoid PutDevicesInGadgets();
- END_OF_FILE
- if test 1409 -ne `wc -c <'yafrHead.h'`; then
- echo shar: \"'yafrHead.h'\" unpacked with wrong size!
- fi
- # end of 'yafrHead.h'
- fi
- if test -f 'yftest.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'yftest.c'\"
- else
- echo shar: Extracting \"'yftest.c'\" \(939 characters\)
- sed "s/^X//" >'yftest.c' <<'END_OF_FILE'
- X/*- - - - - - - - -yftest -- a program for demoing YAFR - - - - - - - - - -*/
- X
- X#include <exec/types.h>
- X#include <intuition/intuition.h>
- X#include <exec/exec.h>
- X
- Xstruct IntuitionBase *IntuitionBase;
- Xstruct GfxBase *GfxBase;
- X
- Xextern GetFilename();
- X#define CRNT header.current->fib
- X
- Xmain() /*A temporary main()*/
- X{
- X char Name[33],Dir[150],Ext[18],CN[183];
- X UBYTE status;
- X
- X OpenLibs();
- X
- X Name[0]=NULL;
- X strcpy(Dir,"DF0:");
- X strcpy(Ext,"");
- X status=GetFilename(Name,Dir,Ext,NULL,32,10,"Enter my filename",NULL,1,3,TRUE);
- X
- X CloseLibsAndExit(); /*Clean up*/
- X}
- X
- XOpenLibs()
- X{
- X if((IntuitionBase=(struct IntuitionBase *)
- X OpenLibrary("intuition.library",0))==NULL)
- X exit(10);
- X
- X if((GfxBase=(struct GfxBase *)OpenLibrary("graphics.library",0))==NULL)
- X {
- X CloseLibrary(IntuitionBase);
- X exit(20);
- X }
- X
- X}
- X
- XCloseLibsAndExit()
- X{
- X CloseLibrary(GfxBase);
- X CloseLibrary(IntuitionBase);
- X exit(0);
- X}
- X
- END_OF_FILE
- if test 939 -ne `wc -c <'yftest.c'`; then
- echo shar: \"'yftest.c'\" unpacked with wrong size!
- fi
- # end of 'yftest.c'
- fi
- echo shar: End of archive 1 \(of 2\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked both archives.
- rm -f ark[1-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
- --
- Mail submissions (sources or binaries) to <amiga@cs.odu.edu>.
- Mail comments to the moderator at <amiga-request@cs.odu.edu>.
- Post requests for sources, and general discussion to comp.sys.amiga.
-